/* Soubor je ulozen v kodovani UTF-8.
 * Kontrola kódování: Příliš žluťoučký kůň úpěl ďábelské ódy. */

package cz.vse.adventura.po1715.xshet00_shevtsova.hra;


import static cz.vse.adventura.po1715.xshet00_shevtsova.hra.Texty.*;


/*******************************************************************************
 * Instance třídy {@code PrikazZavri} představují příkaz zavři
 *
 * @author    Tatyana Shevtsova
 * @version   
 */
public class PrikazZavri extends APrikaz
{
//== KONSTANTNÍ ATRIBUTY TŘÍDY =================================================
//== PROMĚNNÉ ATRIBUTY TŘÍDY ===================================================
//== KONSTANTNÍ ATRIBUTY INSTANCÍ ==============================================
//== PROMĚNNÉ ATRIBUTY INSTANCÍ ================================================
//== PŘÍSTUPOVÉ METODY VLASTNOSTÍ TŘÍDY ========================================
//== OSTATNÍ NESOUKROMÉ METODY TŘÍDY ===========================================

//##############################################################################
//== KONSTRUKTORY A TOVÁRNÍ METODY =============================================

    /***************************************************************************
     * Vytvoří instanci mající na strosti reakci na příkaz <b>jdi</b>,
     * po jehož zadaní se hráč přesune do místnosti,
     * jejíž název bude uveden za příkazem.
     */
    public PrikazZavri()
    {
        super( pZAVŘI, //"Zavři",
               "Zavře zadaný předmět." );
    }


//== ABSTRAKTNÍ METODY =========================================================
//== PŘÍSTUPOVÉ METODY VLASTNOSTÍ INSTANCÍ =====================================
//== OSTATNÍ NESOUKROMÉ METODY INSTANCÍ ========================================

    /***************************************************************************
     * Zavře zadaný předmět; před tím však zkontroluje,
     * zda je zadán zavíraný předmět, zda hráč právě prohlíží útroby tohoto
     * předmětu (zda je v místnosti představované zavíraným předmětem)
     * a zda tímto předmětem je lednička v kuchyni.
     *
     * @param parametry Jediným povoleným parametrem je zatím lednička
     * @return Text zpravy vypsane po porovedeni prikazu
     */
    @Override
    public String execute( String... parametry )
    {
        if (parametry.length == 0)  {
            return "Je třeba říct, který předmět se má zavřít.";//==========>
        }
        if ((!parametry[0].equalsIgnoreCase("časopis"))  ||
            Mistnost.getAktuálníMístnost() != Mistnost.Kuchyň )
        {
            return "Zavřít je možno pouze otevřený časopis";  //==========>
        }
        Mistnost.setAktuálníMístnost(Mistnost.Kuchyň);
        return ZAVŘEL_ČASOPIS;
//        return "Úspěšně jste zavřel(a) časopis.";              //==========>
    }



//== SOUKROMÉ A POMOCNÉ METODY TŘÍDY ===========================================
//== SOUKROMÉ A POMOCNÉ METODY INSTANCÍ ========================================
//== VNOŘENÉ A VNITŘNÍ TŘÍDY ===================================================
//== TESTY A METODA MAIN =======================================================

}
